package LeetCode.Interview;

import javafx.scene.effect.SepiaTone;

import java.util.HashSet;
import java.util.Set;

/**
 * @author VX5
 * @Title: MJC
 * @ProjectName interview
 * @Description: TODO
 * @date ${DAT}16:26
 */
public class offer01 {
    // 数组中重复的数字
    public int findRepeatNumber(int[] nums) {
//        if (nums.length == 0){
//            return -1;
//        }
//        Set<Integer> set = new HashSet<>();
//        for (int i = 0; i < nums.length; i++){
//            if (set.contains(nums[i])){
//                return nums[i];
//            }else {
//                set.add(nums[i]);
//            }
//        }
//        return -1;

        // 原地置换算法
        int temp;
        for(int i=0;i<nums.length;i++){
            while (nums[i]!=i){
                if(nums[i]==nums[nums[i]]){
                    return nums[i];
                }
                temp=nums[i];
                nums[i]=nums[temp];
                nums[temp]=temp;
            }
        }
        return -1;
    }

    public static void main(String[] args) {
        System.out.println(new offer01().findRepeatNumber(new int[]{2, 3, 1, 0, 2, 5, 3}));
    }
}
